package com.fitso.model.bean.measure.length;

import java.math.BigDecimal;

import com.fitso.model.bean.measure.Measure;

/**
 * <p>
 * Base unit is millimeter.
 * </p>
 * 
 * @author timothystorm
 */
public abstract class Length extends Measure {
	private static final long serialVersionUID = 1L;
	
	public Length() {
		super();
	}
	
	public Length(Integer value){
		super(value);
	}
	
	public Length(Double value){
		super(value);
	}

	public Length(BigDecimal value) {
		super(value);
	}

	public Length(Length length) {
		convert(length);
	}

	public Length convert(Length length) {
		return (Length) super.convert(length);
	}

	public Length add(Length length) {
		return (Length) super.add(length);
	}

	public Length add(Integer length) {
		return (Length) super.add(length);
	}

	public Length add(Double length) {
		return (Length) super.add(length);
	}

	public Length subtract(Length length) {
		return (Length) super.subtract(length);
	}

	public Length subtract(Integer length) {
		return (Length) super.subtract(length);
	}

	public Length subtract(Double length) {
		return (Length) super.subtract(length);
	}

	public Length multiply(Length length) {
		return (Length) super.multiply(length);
	}

	public Length multiply(Integer length) {
		return (Length) super.multiply(length);
	}

	public Length multiply(Double length) {
		return (Length) super.multiply(length);
	}

	public Length divide(Length length) {
		return (Length) super.divide(length);
	}

	public Length divide(Integer length) {
		return (Length) super.divide(length);
	}

	public Length divide(Double length) {
		return (Length) super.divide(length);
	}

	protected Class<Length> getMeasure() {
		return Length.class;
	}
}
